package com.xuecheng.media.api;

import com.xuecheng.commons.model.vo.MediaVo;
import com.xuecheng.commons.model.vo.ResourceVo;
import com.xuecheng.commons.model.vo.ResponseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @author Sober_wxy
 * @date 2022/7/21 23:59
 * 自定义 Feign 接口
 *      接口上配置 服务名
 *      定义方法 用注解配置 请求链接
 *      从服务提供者的 controller 去 copy 所需业务
 *       注意 补齐请求链接 要和controller整体链接同步
 */
@FeignClient("xc-media-service")
public interface MediaClient {
        @GetMapping("/media/{mediaId}")
        ResponseResult<MediaVo> findById(@PathVariable Long mediaId);

        @GetMapping("/media/media-url/{mediaId}")
        ResponseResult<ResourceVo> findMediaUrl(@PathVariable("mediaId") Long mediaId);
}
